#ifndef HDR_DRAWAXISMARKER
#define HDR_DRAWAXISMARKER

#include <Eigen/Core>
#include <Eigen/Geometry>
#include <cmath>

/// Renders a camera frame
struct DrawAxisMarker {
	/// horizontal field of view (controls perspective effect on the axis marker)
	double fov;

	/// screen radius of the marker ball
	double markerExtent;

	/// offset of the marker ball from the bottom-left screen corner
	double markerOffset;

	explicit DrawAxisMarker(double fov = 60.0*M_PI/180.0, double extent = 12.5, double offset = 3.0);

	void render(int windowWidth, int windowHeight, const Eigen::Quaterniond& rot) const;
};

#endif
